The Internet and Internet Protocol (IP) networks have had a tremendous growth over the past decades. The simplicity and flexibility are the major advantages with the IP technology compared to traditional telecommunication technologies such as circuit-switched networking and ATM. The IP technology is packet-based and has been designed to keep the network infrastructure simple and open to support a variety of applications, while the intelligence have been moved to the clients connected to the networks. The network infrastructure has one major task, which is to forward data from a sending client to at least one receiving client. The sending client has the major task to pack the information it would like to send to the receiving client(s) and address it accordingly so it can be forwarded towards the receiving client(s) by the network infrastructure. The receiving client(s) has its major task as putting together the received data to reproduce the information that was sent by the sender. A receiving client may for example be a set-top-box (STB) or a PC equipped with an application capable of receiving media streams whereas a sending client is typically an application framework or integrated content portal/content server. The network infrastructure comprised of e.g. routers, switches, Broadband Remote Access Servers (BRAS), access nodes or other network elements has no knowledge about the information that is being sent from the sending client to the receiving client(s), thereby it can be seen as simple. Among the advantages with having this approach for the network infrastructure can be mentioned low cost and openness. Since the network infrastructure does not know what the data is that is being sent, it is up to the sending client and receiving client(s) to develop different applications for different purposes.
This design has made it possible to run so called multi-service networks, i.e. a wide variety of applications can run over the same network infrastructure. Initially, applications were text messages (e-mail) and non real-time critical file transfers. Today the Internet is being used for a huge variety of applications including real-time applications such as IP telephony and video on demand over broadband networks. Offerings from the broadband operators are referred to as Triple play, where the customer gets telephony, video and data over the same broadband connection. Media content distribution is achieved by combining an element of control sometimes referred to as session control or application framework with an element of distribution, content server or servers. The application framework handles the session control interaction between the sending clients and receiving clients and mediates between clients and content servers. The content server and application framework may be integrated or separated both logically and geographically.
For applications such as telephony, video and broadcast TV the source information must be adapted to be able to be transmitted over IP networks. Continuous source information is segmented into appropriate information blocks (e.g. speech frames and video frames) and for each block the information is encoded by a source encoder, packet into an IP packet and then sent to the receiving client(s) where these decode the information to reproduce the original information.
Encoding information in each information block can be made independently of previous and following information blocks. However, information between current information block and previous and/or following information block are usually more or less correlated. By using this property one can reduce the amount of data needed to encode the source information through the use of predictive or differential coding.
Today, many of the compression schemes that exist for media encoding relies on predictive coding whereby the difference between the reproduced signal and its prediction is transmitted instead of transmitting the reproduction, frame by frame. A typical example is MPEG video (as described for example in ISO IEC 13818-2 Information technology—Generic coding of moving pictures and associated audio information—Part 2: Video ISO/IEC JTC 1/SC 29 N 635) which is incorporated herein as a reference. The transmitted frame types are divided in three different subcategories, I-frames, P-frames and B-frames which are illustrated in FIG. 1.
The I-frame, referred to as the key frame, is a self-contained item of data i.e. it has no references to any other frames and is as such a directly reproducible and represents a complete image while the P-frames are encoded representations of the difference between the contents of the current frame and the previous I- or P-frame. The B-frames are the encoded representations of the bidirectional difference between the previous I- or P-frame and the next I- or P-frame whichever is closest.
Predictive/differentially coded media suffers from the drawback that it is required to wait for the next key frame before reproduction (play out) can begin since the key frame is the only frame type that can be reproduced without any other information. The decoder typically buffers or discards data until a key frame is received after which reproduction can begin. Depending on the level of compression and compression method used, this can take anywhere from a few milliseconds up to several seconds.
For distributing media streams e.g. video in IP networks, there are currently basically two different methods called unicast and multicast.
Unicast describes the method whereby each client receives its own copy of the media stream and the media stream can not be shared between different clients. Even though one server can serve many clients, the media streams are separate, i.e. one instance per receiver. This method is typically used to provide services such as video-on-demand (VoD) where a user controlling the client may want to start a media stream at any instant and where the user may want to fast-forward/rewind or pause the stream at any time. The advantage of using unicast is that all clients may have their own copy of the media stream. The disadvantage of unicast is that for each new instance of the same media stream, additional bandwidth is required, leading to scalability problems for large deployments.
Multicast, in contrast to unicast, describes a method whereby a plurality of clients can receive a media stream simultaneously, i.e. one sender transmits the same media flow to the plurality of receiving clients. The plurality of the receiving clients constitutes a multicast group. That implies that multicast is a very resource efficient method and is typically used to provide live broadcasts to one or more recipient at a time.
Thus, providing bandwidth efficient live broadcast media streams in IP networks requires multicast to avoid having to duplicate the same information for all clients currently sharing the same media flow.
For unicast distribution of differentially coded media, the sender can guarantee that the first transmitted item of data is a key frame and as such suitable for immediate reproduction. If differentially coded media is distributed using multicast, the receiver can get no guarantees about what type of frame it will first encounter since the receiver in effect typically subscribes (latches on) to an ongoing media stream and the first received frame may be of any type transmitted. If the first received frame is not a key frame, it references a frame already sent but since this non key frame was the first frame encountered by the receiver, the reference has not been received and the receiver must wait for the next transmitted key frame which will cause a delay of the reproduction.
As stated above, the bandwidth efficient multicast media distribution is required for live broadcast media streams in IP networks. However, media such as video are usually differentially coded which implies that multicast causes that the receiver must wait for a key frame before it can reproduce the information. This could be perceived by the user as a delay. It would therefore be desired to utilize the property of the unicast distribution to immediately start the reproduction of the unicast distribution for differentially coded media.
To combine the bandwidth efficiency of the multicast media distribution with the ability to immediately start the reproduction of the unicast distribution for differentially coded media, both distribution methods (unicast and multicast) can be used in combination. I.e. a unicast media distribution is initiated and a multicast distribution are also initiated if there is no existing multicast stream to synchronize with. The unicast distribution is ongoing until the initiated multicast distribution is ready to start or when synchronization with an already existing multicast stream is completed, i.e. when the key frame is received. Thus, the media receiver is first served a unicast stream and the receiver can initiate play out from the unicast stream immediately while waiting for the multicast transmission to be able to start if the multicast transmission is not available or while waiting for synchronizing with an already existing multicast transmission. When the multicast transmission is initiated, data is buffered until enough information is available, i.e. at least when a next key frame is received, and then the client switches form reproducing data from the unicast stream to reproducing data from the multicast stream. Additional buffering may also be desired. The unicast stream may then be dropped when the multicast stream itself can continue to reproduce the media. Thus, the advantages of both the unicast distribution and the multicast distribution can be achieved. This procedure also enables very fast media changes such as channel changes. This procedure is referred to as “Media Quick Start” in this description.
Since unicast media distribution is less bandwidth efficient than multicast distribution, a plurality of unicast media distributions requires much more resources than one multicast distribution. Hence, problems occur when the media server gets a request that would result in Media Quick Start unicast data from a client in an already congested network or a network that will experience congestion if the resulting unicast traffic should be admitted into the network. If the request is denied, the media distribution can not start, even if client would have been able to receive media from the multicast distribution. If the request is granted, the network will be congested to the point where the admitted traffic can affect already existing traffic admitted before the congestion occurred thus adversely affecting the Quality of Experience for all users of the network in question. It is therefore desired to a achieve an improved solution for a Media Quick Start such that additional data transmission in an already congested network is avoided. Without this improvement, service for other users will be disrupted by the additional data.